package com.leps.nq.bi.mapper;

import com.leps.nq.bi.vo.Entry;
import com.leps.nq.op.entity.OpAlarm;
import org.apache.ibatis.annotations.MapKey;
import org.apache.ibatis.annotations.Mapper;

import java.util.List;
import java.util.Map;

@Mapper
public interface CompanyBIMapper {


    List<Entry<Long>> selectTotalCount();

    @SuppressWarnings("MybatisXMapperMethodInspection")
    List<Map> selectCountGroupByCustName();

    List<Entry<Double>> selectTotalDosagesOfPassed3YearGroupByYear();

    @SuppressWarnings("MybatisXMapperMethodInspection")
    List<Map> selectDosagesOfPassed3YearsGroupByCustNameAndYear();

    @SuppressWarnings("MybatisXMapperMethodInspection")
    List<Map> selectMonthlyTaskCompletionOfEveryTeam();

    List<Entry<Double>> selectTodayTaskCompletionOfEveryTeam();

    @MapKey("type")
    List<Map> selectAlarmCountGroupByAlarmType();

    List<OpAlarm> selectNotHandledAlarm();

    List<OpAlarm> selectNotHandledAlarmTop20();

    List<Long> selectBubbleDeviceGroupByCust();

    List<Long> selectBubbleDosageGroupByCust();
}
